1. Field of the Invention
The present invention relates to a high-speed image processing technique, and more particularly to a method for implementing a high-speed compression algorithm for JPEG2000 still images through general purpose application of graphic processing unit.
2. Description of the Related Art
Recently, the performance of Graphics Processing Units (GPU) has rapidly developed, and programmable features of the GPU itself have gradually increased. Accordingly, the possibility of general purpose application of the GPU was proposed in addition to a basic geometry transformation and a rasterization for 3-dimensional graphics. (See R. Fernando (editor), GPU Gems: Programming Techniques Tips, and Tricks for Real-Time Graphics, Addison-Wesley, 2004; M. Pharr (editor), GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation, Addison-Wesley, 2005; http://developer.nvidia.com/page/documentation.html; and http://ati.amd.com/developer/index.html). Operational processing rates of GPUs are significantly (e.g., ten times) faster than a corresponding performance of the newest Central Processing Unit (CPU). For example, a NVIDIA G80 (GeForce 8800 GTX), which is the newest GPU core, can perform ultra-high-speed operations that correspond to approximately 7 hundred million transistor integration and 350 giga-flops (GFLOP). NVIDIA is a registered trademark of NVIDIA Corporation, Santa Clara, Calif.
Another development tendency of the GPU is that it allows the user to program functions of the GPU internal pipelines. This method is known as a vertex shader and a pixel/fragment shader technique, etc. For example, changing type of a projection transformation or an illumination model or a texture mapping method, or realistic graphic effects, which are not available in conventional fixed pipelines, can be achieved by redefining the graphic pipeline functions by means of shaders. DirectX 9.0 and OpenGL 2.0 were announced, wherein shader programming using HLSL (High Level Shading Language) and OpenGL Shading Language (GLSL) were included in standard specifications of DirectX and OpenGL (Open Graphics Library). As a result, the development of general purpose applications using high-performance operations of the GPU is expected to be accelerated.
Special effects in computer graphic field, such as a bump mapping, environment mapping, particle effect, collision detection, etc., which are not supported directly by the API of OpenGL or the DirectX, have come to be implemented. (See R. Fernando (editor), GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, Addison-Wesley, 2004; M. Pharr (editor), GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation, Addison-Wesley, 2005).
For the GPU application for general purpose, i.e. General Purpose GPU (GPGPU), an image processing and a computer vision, in addition to computer graphics, have been in the spotlight in recent years. Frequent transmissions of image data and a real-time data processing on pixels, pixel blocks or features is essential to algorithms for the image processing and computer vision, which are common features with 3-dimensional graphic algorithms. In terms of the technical trend the GPU is not only applicable to personal computers (PC), but also mobile devices, such as mobile phones and PDAs, and the GPU is expected to serve as a multi-processor in the future.